﻿using System.Collections.Generic;

namespace Luminescence
{
   /// <summary>
   /// Classe statique permettant de récupérer le numéro de version de l'encodeur Vorbis en fonction du tag "Vendor".
   /// </summary>
   public static class VorbisVendor
   {
      /// <summary>
      /// Dictionnaire contenant les nnuméros de version des encodeurs Vorbis. La clef du dicitonnaire correspond au tag "Vendor".
      /// </summary>
      public static readonly Dictionary<string, string> Vendors = new Dictionary<string, string>
      {
         { "Xiphophorus libVorbis I 20000508", "1.0 Beta 1/2" },
         { "Xiphophorus libVorbis I 20001031", "1.0 Beta 3" },
         { "Xiphophorus libVorbis I 20010225", "1.0 Beta 4" },
         { "Xiphophorus libVorbis I 20010615", "1.0 RC1" },
         { "Xiphophorus libVorbis I 20010813", "1.0 RC2" },
         { "Xiphophorus libVorbis I 20011217", "1.0 RC3" },
         { "Xiphophorus libVorbis I 20011231", "1.0 RC3" },

         { "Xiph.Org libVorbis I 20020717", "1.0.0" },
         { "Xiph.Org libVorbis I 20030909", "1.0.1" },
         { "Xiph.Org libVorbis I 20040629", "1.1.0" },
         { "Xiph.Org libVorbis I 20050304", "1.1.1/2" },
         { "Xiph.Org libVorbis I 20070622", "1.2.0" },
         { "Xiph.Org libVorbis I 20080501", "1.2.1" },
         { "Xiph.Org libVorbis I 20090624", "1.2.2" },
         { "Xiph.Org libVorbis I 20090709", "1.2.3" },
         { "Xiph.Org libVorbis I 20100325 (Everywhere)", "1.3.1" } ,
         { "Xiph.Org libVorbis I 20101101 (Schaufenugget)", "1.3.2" },
         { "Xiph.Org libVorbis I 20120203 (Omnipresent)", "1.3.3" },
         { "Xiph.Org libVorbis I 20140122 (Turpakäräjiin)", "1.3.4" },
         { "Xiph.Org libVorbis I 20150105 (⛄⛄⛄⛄)", "1.3.5" },

         { "AO; aoTuV b2 [20040420] (based on Xiph.Org's 1.0.1)", "aoTuV Beta 2" },
         { "AO; aoTuV b3 [20041120] (based on Xiph.Org's libVorbis)", "aoTuV Beta 3" },
         { "AO; aoTuV b4 [20050617] (based on Xiph.Org's libVorbis)", "aoTuV Beta 4" },
         { "AO; aoTuV b4a [20051105] (based on Xiph.Org's libVorbis)", "aoTuV Beta 4.5" },
         { "AO; aoTuV r1 [20051117] (based on Xiph.Org's libVorbis)", "aoTuV R1" },
         { "AO; aoTuV b5 [20061024] (based on Xiph.Org's libVorbis)", "aoTuV Beta 5" },
         { "AO; aoTuV b5a [20080330] (based on Xiph.Org's libVorbis)", "aoTuV Beta 5.5" },
         { "AO; aoTuV b5b [20081209] (based on Xiph.Org's libVorbis)", "aoTuV Beta 5.6" },
         { "AO; aoTuV b5c [20081215] (based on Xiph.Org's libVorbis)", "aoTuV Beta 5.61" },
         { "AO; aoTuV b5d [20090301] (based on Xiph.Org's libVorbis)", "aoTuV Beta 5.7" },
         { "AO; aoTuV [20110227] (based on Xiph.Org's libVorbis)", "aoTuV Beta 6.02" },
         { "AO; aoTuV [20110424] (based on Xiph.Org's libVorbis)", "aoTuV Beta 6.03" }
      };
   }
}